package day01;
//java中所有的类都继承自Object
public class Demo {
    public static void main(String[] args) {
//        Object o=new Demo();
//        测试重写Object的toString方法与equals方法
        Point p=new Point(1,2);
//        String toString()方法是Object定义的方法
//        该方法的作用是将当前对象转换为一个字符串。Object的默认实现中该方法返回的是这个对象的地址信息，格式为：类名@地址
        String  str=p.toString();
        System.out.println(str);
//        向控制台输出p对象
//        System.out.println(Object o);向控制台输出一个对象时，该方法会输出该对象toString方法返回字符串
        System.out.println(p);
//        在进行字符串连接时，会将非字符串的对象内容转换为字符串，此时会调用起toString方法将其转换为字符串
        String line="对象内容："+p;
        System.out.println(line);
//        Object定义的另一个常被子类重写的方法:equals该方法的作用是判断两个同类型的实例之间的内容是否相同
        Point p2=new Point(1,2);
//        ==为值比较，比较两个变量的值是否相同对于引用类型而言，保存的是地址，因此==可以理解为比较两个对象的地址是否相同，这意味着比较的是他们是否为同一个对象
        System.out.println(p==p2);
//        equals方法并不关心两个对象是否为同一个对象，二十应当关心两个对象的内容是否相同。Object定义的该方法内部使用"=="实现，因此我么实际应用时应当重写该方法否则没有实际意义
        System.out.println(p.equals(p2));
    }
}















